iT邦幫忙

6

[python] 100天從新手變.... (Day04)

  • 分享至 

  • xImage
  •  

Hello呀,這是一個培養寫程式習慣的練習。
先前有試著每天學習一次線上課程,但學到後面就忘記前面,
自省缺少學習記錄,也沒有養成每天寫程式的習慣。
所以這次換個方式:每日固定的課程加學習記錄整理及分享。
看看是否比較能培養出寫程式的習慣

目前鎖定的練習標的物是 100天從新手到大師
歡迎各位前輩指導!!在此先謝謝了!

1. 心得
1.range的應用在python裡面真的很實用。
range(起頭,結尾(不含),間隔)
2.基本題型的九九乘法表跟聖誕樹出現了。
自己寫過一次後,終於少了腦海裡一個疑惑點。
3.隨著瞌睡蟲的出現,會不自覺的看教學直接寫程式,
要再提醒自己多多試著寫寫看。

小語:要提醒自己還沒(yet)的力量。沒有什麼是不會的,只有還沒學會而已。
持之以恆就能學會。

2. 本日學習摘要
Day04 - 循環結構
循環結構的應用場景- 條件/ 縮進/ 代碼塊/ 流程圖
while循環- 基本結構/ break語句/
for循環- 基本結構/ range類型/ 循環中的分支結構
應用案例- 1~100求和/ 判斷質數/ 猜數字遊戲/ 九九乘法表/ 聖誕樹

3. 程式碼

#用for迴圈求1+2+3...+100
sum = 0
for count in range(101):
    sum += count #sum = sum + count  
print(sum)

1

#用for迴圈求1~100的偶數合
#method 1
sum = 0
for count in range(0,101,2):
    sum += count #sum = sum + count  
print(sum)
#method 2
sum = 0
for count in range(101):
    if count % 2 == 0:
        sum += count #sum = sum + count  
print(sum)

2

#猜數字遊戲
import random
answer = random.randint(1,100)
counter = 0
while True:
    counter +=1
    number = int (input("請輸入數字:"))
    if number < answer:
        print ("再大一點")
    elif number > answer:
        print ("再小一點")
    else:
        print ("恭喜你答對啦")
        break
print("你總共猜了%d 次" % counter)
if counter > 7 :
    print("你可以再想更好的猜法")

3

#輸出九九乘法表
for i in range(1,10):
    for j in range(1,10):
        print('%d * %d = %d' %(i,j,i*j), end='\t')
    print()

4

#練習:輸入一個正整數判斷是不是質數。
#提示:質數指的是只能被1和自身整除的大於1的整數。
from math import sqrt

num = int (input( "請輸入一個正整數:"))
end = int (sqrt(num))
is_prime = True
for x in range(2, end +1):
    if num % x == 0 :
        is_prime = False
        break
if is_prime and num != 1:
    print( "%d是質數" % num)
else:
    print( "%d不是質數" %num)

5

#練習:輸入兩個正整數,計算它們的最大公約數和最小公倍數。
a = int(input('a='))
b = int(input('b='))
#IF a> b 交換 a和b的值
if a > b:
    a , b = b , a 
#從兩個數較小的數開始遞減循環
for factor in range(a, 0, -1):
    if a % factor == 0 and b % factor == 0:
        print("%d和%d的最大公約數是%d" %(a,b,factor))
        print("%d和%d的最小公倍數是%d" %(a,b,a * b // factor))
        break

6

#練習:輸出指定的三角形圖案。
"""
*
**
***
****
*****

    *
   **
  ***
 ****
*****

    *
   ***
  *****
 *******
*********
"""
row  =  int ( input ( '請輸入行數: ' ))
for  i  in  range ( row ):
    for  _  in  range ( i  +  1 ):
        print ( '*' , end = '' )
    print ()

row  =  int ( input ( '請輸入行數: ' ))
for  i  in  range ( row ):
    for  j  in  range ( row ):
        if  j  <  row  -  i  -  1 :
            print ( ' ' , end = '' )
        else :
            print ( '*' , end = '' )
    print ( )

row  =  int ( input ( '請輸入行數: ' ))
for  i  in  range ( row ):
    for  _  in  range ( row  -  i  -  1 ):
        print ( ' ' , end = '' )
    for  _  in  range ( 2  *  i  +  1 ):
        print ( '*' , end = '' )
    print ()

7
8
9

參考資料:Day04


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言